home *** CD-ROM | disk | FTP | other *** search
- #import <appkit/appkit.h>
- #import "Thinker.h"
- #import "Body.h"
- #import "StarShipProtocol.h"
- #import "CelestialCommon.h"
-
-
- @interface Celestial:Object
- {
-
- id starsObject;
- id tiffManagerObject;
- List *bodyList;
- Sound *pwrDownSnd;
- Sound *pwrUpSnd;
-
-
- BOOL starsStopping; //if starsObject has been told to stop
- BOOL starsStopped;
- BOOL soundEnabled;
- short totalBodies; //how many different ones
- short animBuilt; //how many actually built
- short currentBodyIndex;
- short cycleStartIndex;
- short bodyCount;
- short currentCycle;
-
- short bodiesDone; //how many bodies have been done
- int startInterval; //how often to start
- BOOL okToDoAnim; // if tiff images are all loaded
- BOOL tiffsNeedBuilding;
- Body *currentBody;
-
- int nextStartTime; //when to create next body
- float objectSpeed; //when creating next body
- int cycles; //number of complete cycles done
- // of total number of bodies
- NXRect bounds;
- const char *moduleDir;
- Storage *tiffStorage;
- Storage *avoidStorage;
- BOOL firstState;
- int tiffStorageIndex; // points to next image to create
- int animationIndex; // keeps track where you are
- // in the animation creation
- int isMult; //current body is multiple
- float lastTheta[4]; //if doing mult then make sure
- // new theta isn't near old theta
- int multDelay; // delay between mult items
- short currentMultTotal; // total of mult items to process
- }
-
- - init;
- - windowSizeChanged;
- - setFirstState;
- - (Body *)createBody:(int)index;
- - setStartInterval: (Slider *)sender;
- - setObjectSpeed: (Slider *)sender;
- - setNextStartTime;
- - setBoundsRect:(NXRect *)r;
- - setNextStartTime;
- - setStarsOutlet:(id)starsOutlet;
- - changeBodyList:(int)index;
- - (float)genUniqueTheta;
- @end
-